factoring guess and check